﻿// using System;
// using System.Collections.Generic;
// using UnityEngine;
//
// namespace GameFramework.Battle.Core
// {
//     public enum EEffectDirection
//     {
//         None,
//         /// <summary>
//         /// 特效命中前方
//         /// </summary>
//         forward,
//         /// <summary>
//         /// 特效命中反方向
//         /// </summary>
//         backward
//     }
//     
//     public enum EEffectType
//     {
//         General,
//         Sub,
//         AddCommander,
//     }
//     public enum EEffectBindType
//     {
//         /// <summary>
//         /// 脱离节点存在
//         /// </summary>
//         World,
//         /// <summary>
//         /// 节点本地
//         /// </summary>
//         Local,
//         /// <summary>
//         /// 原点
//         /// </summary>
//         Origin
//     }
//     
// #pragma warning disable 0618
//     [ExecuteInEditMode]
//     public class EffectControl:MonoBehaviour
//     {
//         public EEffectDirection direction;
//         private int m_layer;
//         public ParticleSystem[] particleSystemArr;
//         public MeshRenderer[] rendererArr;
//         public void SetParticle()
//         {
//            particleSystemArr = gameObject.GetComponentsInChildren<ParticleSystem>();
//         }
//         
//         void OnEnable()
//         {
// #if UNITY_EDITOR
//             if (!Application.isPlaying)
//             {
//                 particleSystemArr = gameObject.GetComponentsInChildren<ParticleSystem>();
//                 rendererArr = gameObject.GetComponentsInChildren<MeshRenderer>();
//             }
// #endif
//             if (particleSystemArr!=null)
//             {
//                 for (int i = 0; i < particleSystemArr.Length; i++)
//                 {
//                     var item = particleSystemArr[i];
//                     if (item == null)
//                     {
//                         continue;
//                     }
//                     ParticleSystem.EmissionModule psemit = item.emission;
//                     psemit.enabled = true;
//                     item.Simulate(0.0f, true, true);
//                     item.Clear();
//                     item.Play();
//                     item.enableEmission = true;
//
//                 }
//             }
//
//         }
//         void OnDisable()
//         {
//             if (particleSystemArr != null)
//             {
//                 for (int i = 0; i < particleSystemArr.Length; i++)
//                 {
//                     var item = particleSystemArr[i];
//                     if (item == null)
//                     {
//                         continue;
//                     }
//                     ParticleSystem.EmissionModule psemit = item.emission;
//                     psemit.enabled = false;
//                     item.time = 0;
//                     item.Stop();
//                 }
//             }
//         }
//     }
// }
